package dao.pojo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

/**
 * WxOrder entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "wxorder", catalog = "fw")
public class WxOrder extends BasePojo implements java.io.Serializable {

	// Fields

	private Long wxOrderId;
	private WxMember wxMember;
	private String body;
	private String detail;
	private String outTradeNo;
	private Integer totalFee;
	private String timeStart;
	private String timeExpire;
	private String tradeType;
	private String productId;
	private String prepayId;
	private Boolean isPayed;
	private Integer cashFee;
	private Integer couponFee;
	private Integer couponCount;
	private String transactionId;
	private String timeEnd;
	private String remarks;
	private String compRemarks;
	private Integer gold;
	private Boolean pointState;
	@Override
	public Object getEntityId() {
		return wxOrderId;
	}

	/** default constructor */
	public WxOrder() {
	}

	@Id
	@TableGenerator(name = "WXORDER_GEN", table = "sequence", pkColumnName = "SEQ_NAME", 
	valueColumnName = "SEQ_COUNT",pkColumnValue = "SEQ_WXORDER", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.TABLE, generator = "WXORDER_GEN")
	@Column(name = "wxOrderId", unique = true, nullable = false)
	public Long getWxOrderId() {
		return this.wxOrderId;
	}

	public void setWxOrderId(Long wxOrderId) {
		this.wxOrderId = wxOrderId;
	}

	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "userId")
	public WxMember getWxMember() {
		return wxMember;
	}

	public void setWxMember(WxMember wxMember) {
		this.wxMember = wxMember;
	}

	@Column(name = "body", length = 32)
	public String getBody() {
		return this.body;
	}

	public void setBody(String body) {
		this.body = body;
	}
	
	@Column(name = "gold")
	public Integer getGold() {
		return this.gold;
	}

	public void setGold(Integer gold) {
		this.gold = gold;
	}

	@Column(name = "detail", length = 8192)
	public String getDetail() {
		return this.detail;
	}

	public void setDetail(String detail) {
		this.detail = detail;
	}

	@Column(name = "outTradeNo", length = 32)
	public String getOutTradeNo() {
		return this.outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	@Column(name = "totalFee")
	public Integer getTotalFee() {
		return this.totalFee;
	}

	public void setTotalFee(Integer totalFee) {
		this.totalFee = totalFee;
	}

	@Column(name = "timeStart", length = 14)
	public String getTimeStart() {
		return this.timeStart;
	}

	public void setTimeStart(String timeStart) {
		this.timeStart = timeStart;
	}

	@Column(name = "timeExpire", length = 14)
	public String getTimeExpire() {
		return this.timeExpire;
	}

	public void setTimeExpire(String timeExpire) {
		this.timeExpire = timeExpire;
	}

	@Column(name = "tradeType", length = 16)
	public String getTradeType() {
		return this.tradeType;
	}

	public void setTradeType(String tradeType) {
		this.tradeType = tradeType;
	}

	@Column(name = "productId", length = 32)
	public String getProductId() {
		return this.productId;
	}

	public void setProductId(String productId) {
		this.productId = productId;
	}

	@Column(name = "prepayId", length = 64)
	public String getPrepayId() {
		return this.prepayId;
	}

	public void setPrepayId(String prepayId) {
		this.prepayId = prepayId;
	}

	@Column(name = "isPayed")
	public Boolean getIsPayed() {
		return this.isPayed;
	}

	public void setIsPayed(Boolean isPayed) {
		this.isPayed = isPayed;
	}

	@Column(name = "pointState")
	public Boolean getPointState() {
		return this.pointState;
	}

	public void setPointState(Boolean pointState) {
		this.pointState = pointState;
	}
	
	@Column(name = "cashFee")
	public Integer getCashFee() {
		return this.cashFee;
	}

	public void setCashFee(Integer cashFee) {
		this.cashFee = cashFee;
	}

	@Column(name = "couponFee")
	public Integer getCouponFee() {
		return this.couponFee;
	}

	public void setCouponFee(Integer couponFee) {
		this.couponFee = couponFee;
	}

	@Column(name = "couponCount")
	public Integer getCouponCount() {
		return this.couponCount;
	}

	public void setCouponCount(Integer couponCount) {
		this.couponCount = couponCount;
	}

	@Column(name = "transactionId", length = 32)
	public String getTransactionId() {
		return this.transactionId;
	}

	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}

	@Column(name = "timeEnd", length = 14)
	public String getTimeEnd() {
		return this.timeEnd;
	}

	public void setTimeEnd(String timeEnd) {
		this.timeEnd = timeEnd;
	}

	@Column(name = "remarks", length = 200)
	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	@Column(name = "compRemarks", length = 200)
	public String getCompRemarks() {
		return compRemarks;
	}

	public void setCompRemarks(String compRemarks) {
		this.compRemarks = compRemarks;
	}

}